package demo01.OutputStream;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Arrays;

/*
    一次写多个字节的方法:
        - public void write(byte[] b)：将 b.length字节从指定的字节数组写入此输出流。
        - public void write(byte[] b, int off, int len) ：从指定的字节数组写入 len字节，从偏移量 off开始输出到此输出流。
 */
public class Demo02OutputStream {
    public static void main(String[] args)  throws IOException{
        //创建FileOutputStream对象,构造方法中绑定要写入数据的目的地
        FileOutputStream fos=new FileOutputStream(new File("d.txt"));
        //调用FileOutputStream对象中的方法write,把数据写入到文件中
        //在文件中显示100,写个字节
        fos.write(49);//1
        fos.write(48);//0
        fos.write(48);//0
        //- public void write(byte[] b)：将 b.length字节从指定的字节数组写入此输出流。
        byte[]bytes={65,66,67,68,69};//ABCDE
        fos.write(bytes);
        //- public void write(byte[] b, int off, int len) ：从指定的字节数组写入 len字节，从偏移量 off开始输出到此输出流。
        fos.write(bytes,1,2);//65,66->BC

         /*
            写入字符的方法:可以使用String类中的方法把字符串,转换为字节数组
                byte[] getBytes()  把字符串转换为字节数组
         */
        byte[] bytes1 = "java冲冲冲".getBytes();
    /*    for (byte b : bytes1) {
            System.out.println(b);
        }*/
        System.out.println(Arrays.toString(bytes1));//[106, 97, 118, 97, -27, -122, -78, -27, -122, -78, -27, -122, -78]
        //在utf-8码格式下3个数字代表一个汉字
        fos.write(bytes1);//java冲冲冲
        fos.close();


    }
}
